import java.util.Scanner;

class Mycount{
    public volatile int flag;
}

public class ThreadDemo3 {


    public static void main(String[] args) {       //内存可见性问题就是一个读一个写，读到的不是修改后的，
                                                   //由于编译器的优化，当修改后，读线程只在自己的工作内存中读取，没有
                                                  //返回到主存中重新读取，所以我们就加一个volatile即可

        Mycount mycount=new Mycount();
        Thread thread1=new Thread(()->{
            while(mycount.flag==0){

            }
        });
        Thread thread2=new Thread(()->{
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入数据");
            mycount.flag=sc.nextInt();
        });
        thread1.start();
        thread2.start();

    }
}
